<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <script>
        //字符串的新增方法

        //1. 实例方法：includes(), startsWith(), endsWith()：
        let str = "zhangsanfeng";
        console.log(str.indexOf("an")); //查找并返回首次出现位置，若没有返回-1 
        console.log(str.includes("an")); //查找是否存在？
        console.log(str.startsWith("zhang")); //查找字串是否是指定字串开头
        console.log(str.endsWith("zhang")); //查找字串是否是指定字串结尾

        //2.  实例方法：repeat() -- 重复字串
        console.log("=".repeat(10));

        //3. 实例方法：padStart() / padEnd()
        // 遍历1~120的数值，负责生产2022开头的9位数值编号（中间补零）
        for(let i = 1; i < 121 ; i++){
            console.log(i.toString().padStart(9,"202200000"));
        }

        //4. 实例方法：trimStart( )，trimEnd( )

        let s = " Hello ";
        console.log("#"+s+"#"); // 原样字串
        console.log("#"+s.trim()+"#"); // 去除两侧多余空白符
        console.log("#"+s.trimStart()+"#"); // 去除前面空白符
        console.log("#"+s.trimEnd()+"#");  // 去除后面空白符

        // 5. matchAll()方法返回一个正则表达式在当前字符串的所有匹配。
        let tag = "<b>aaa</b><b>bbb</b><b>ccc</b>";
        // 使用正则将上面字串中的b标签全部匹配出来
        //console.log(tag.match(/<b>.*<\/b>/g)); // 默认是最大匹配（贪婪模式）
        //console.log(tag.match(/<b>.*?<\/b>/g)); // ?可以取消最大匹配（非贪婪模式）
        console.log([...tag.matchAll(/<b>(.*?)<\/b>/g)]); 

    </script>
</body>
</html>